home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / linklist / source.lha / Makefile.BCC < prev    next >
Makefile  |  1993-08-08  |  6KB  |  269 lines

  1. .AUTODEPEND
  2.  
  3. #
  4. # Linked List Tool -- makefile for Borland C++ v3.1
  5. #
  6. # Gabe Helou <gabe@angus.mi.org>, September 1992
  7. #                                                                 
  8. # This make file has been tested with MS-DOS versions of tar, shar,
  9. # zip, and lha.
  10. #
  11.  
  12. TOOLS_HOME     = c:\usr
  13. MAKERULE       = Tools_makerule
  14.  
  15. # Name of current directory
  16. DIR    = .
  17.  
  18. # Name of library
  19. LIB    = $(TOOLS_HOME)\lib
  20.  
  21. # Name of user include dir
  22. INC    = $(TOOLS_HOME)\include
  23.  
  24. # Contents of current directory
  25. LIST   = Makefile README example.c list.c list.h
  26.  
  27. #          *Translator Definitions*
  28.  
  29. CC = bcc +list.CFG
  30. FLAGS       = -O2 -c
  31. TASM        = TASM
  32. TLIB        = tlib
  33. TLINK       = tlink
  34. SHAR        = shar -v -c -pXX
  35.  
  36. LIBPATH     = $(BCDIR)\lib
  37. INCLUDEPATH = $(BCDIR)\include
  38.  
  39. TARFILE     = $(TOOLS_HOME)\llistt.tar
  40. SHARFILE    = $(TOOLS_HOME)\llistt.shr
  41. ZIPFILE     = $(TOOLS_HOME)\llistt.zip
  42. LHAFILE     = $(TOOLS_HOME)\llistt.lzh
  43.  
  44. # Doc list for shar
  45. DOC_1 = Doc/Intro.1    Doc/lDef.1      Doc/lDel.1      Doc/lDelAll.1
  46. DOC_2 = Doc/lDelNode.1 Doc/lDump.1     Doc/lFlagNode.1 Doc/lFndNode.1
  47. DOC_3 = Doc/lGetNode.1 Doc/lIndxNode.1 Doc/lInfo.1     Doc/lInfoNode.1
  48. DOC_4 = Doc/lInsNode.1 Doc/lUndump.1   Doc/lUpdNode.1
  49.  
  50. DOC_ALL_1 = Doc/Intro.man    Doc/lDef.man      Doc/lDel.man      Doc/lDelAll.man
  51. DOC_ALL_2 = Doc/lDelNode.man Doc/lDump.man     Doc/lFlagNode.man Doc/lFndNode.man
  52. DOC_ALL_3 = Doc/lGetNode.man Doc/lIndxNode.man Doc/lInfo.man     Doc/lInfoNode.man
  53. DOC_ALL_4 = Doc/lInsNode.man Doc/lUndump.man   Doc/lUpdNode.man  
  54. DOC_ALL_5 = Doc/list_doc.ps
  55.  
  56. #              *Implicit Rules*
  57.  
  58. .c.obj:
  59.   $(CC) $(FLAGS) {$< }
  60.  
  61. .cpp.obj:
  62.   $(CC) $(FLAGS) {$< }
  63.  
  64.  
  65. #              *List Macros*
  66.  
  67. LIB_dependencies =  \
  68.   list.obj
  69.  
  70.  
  71. #              *Targets*
  72.  
  73. usge:   usage.msg
  74.     type usage.msg
  75.  
  76. all:      lib
  77.  
  78. install:  newlib
  79.  
  80. clean:
  81.     del list.obj
  82.     del list.lib
  83.     
  84. list.lib: lib
  85.  
  86. lib:      list.cfg $(LIB_dependencies)
  87.     del list.lib
  88.     $(TLIB) /C /E /e list.lib +list.obj
  89.  
  90. newlib:   list.h list.lib
  91.     copy list.lib $(LIB)
  92.     copy list.h   $(INC)
  93.  
  94. ofiles:   $(LIB_dependencies)
  95.  
  96. test:     example
  97.  
  98. example:  $(LIB)\list.lib example.obj
  99.         $(CC) -c $(FLAGS) example.c
  100.         $(TLINK) /v/x/c/P-/L$(LIBPATH);$(LIB) @&&|
  101. c0l.obj+
  102. example.obj
  103. example
  104.                     # no map file
  105. emu.lib+
  106. mathl.lib+
  107. list.lib+
  108. cl.lib
  109. |
  110.  
  111. tar:    doc.lst doc_all.lst src.lst
  112.         echo Making tar-file in $(TARFILE)
  113.         type doc.lst      >  $$tartmp
  114.         type doc_all.lst  >> $$tartmp
  115.         echo $(MAKERULE)  >> $$tartmp
  116.         type src.lst      >> $$tartmp
  117.         tar -cvf $(TARFILE) -T $$tartmp
  118.         del $$tartmp
  119.  
  120. shar:
  121.         echo Making shar-file in $(SHARFILE)
  122.         $(SHAR) $(MAKERULE) >  $(SHARFILE)
  123.         $(SHAR) $(LIST)     >> $(SHARFILE)
  124.         $(SHAR) $(DOC_1)    >> $(SHARFILE)
  125.         $(SHAR) $(DOC_2)    >> $(SHARFILE)
  126.         $(SHAR) $(DOC_3)    >> $(SHARFILE)
  127.         $(SHAR) $(DOC_4)    >> $(SHARFILE)
  128.         $(SHAR) $(DOC_ALL_1)>> $(SHARFILE)
  129.         $(SHAR) $(DOC_ALL_2)>> $(SHARFILE)
  130.         $(SHAR) $(DOC_ALL_3)>> $(SHARFILE)
  131.         $(SHAR) $(DOC_ALL_4)>> $(SHARFILE)
  132.         $(SHAR) $(DOC_ALL_5)>> $(SHARFILE)
  133.         dos2unix $(SHARFILE)
  134.  
  135. short_shar:
  136.         echo Making short shar-file in $(SHARFILE)
  137.         $(SHAR) $(MAKERULE) >  $(SHARFILE)
  138.         $(SHAR) $(LIST)     >> $(SHARFILE)
  139.         $(SHAR) $(DOC_1)    >> $(SHARFILE)
  140.         $(SHAR) $(DOC_2)    >> $(SHARFILE)
  141.         $(SHAR) $(DOC_3)    >> $(SHARFILE)
  142.         $(SHAR) $(DOC_4)    >> $(SHARFILE)
  143.         dos2unix $(SHARFILE)
  144.  
  145. zip:    doc.lst doc_all.lst
  146.         echo Making ZIP-file in $(ZIPFILE)
  147.         pkzip -ap $(ZIPFILE) $(MAKERULE) $(LIST)
  148.         pkzip -ap $(ZIPFILE) @doc.lst
  149.         pkzip -ap $(ZIPFILE) @doc_all.lst
  150. #                           zip    $(ZIPFILE) $(MAKERULE) $(LIST)
  151. #        type doc.lst     | zip -@ $(ZIPFILE)
  152. #        type doc_all.lst | zip -@ $(ZIPFILE)
  153.  
  154. lha:    doc.lst doc_all.lst
  155.         echo Making lha-file in $(LHAFILE)
  156.         lha a /x1 $(LHAFILE) $(MAKERULE) $(LIST)
  157.         lha a /x1 $(LHAFILE) @doc.lst
  158.         lha a /x1 $(LHAFILE) @doc_all.lst
  159.  
  160. list.obj: list.cfg list.c list.h
  161.  
  162. usage.msg:  makefile.bcc
  163.     copy &&|
  164.  
  165.   Makefile of directory $(DIR)
  166.  
  167.   Targets are:
  168.  
  169.      usge         = Prints this
  170.      lib          = Make objects for LIB
  171.      newlib       = Make objects and place them in LIB
  172.      ofiles       = Make objects
  173.      test/example = Make test program
  174.      tar          = Make TARFILE
  175.      shar         = Make SHARFILE
  176.      zip          = Make ZIPFILE
  177.      lha          = Make LHAFILE
  178.  
  179.      all          = same as 'lib'
  180.      install      = same as 'newlib'
  181.      clean        = remove object files and temp files
  182.  
  183.   defaults:
  184.  
  185.      TARFILE  = $(TARFILE)
  186.      LIB      = $(LIB)
  187.      SHARFILE = $(SHARFILE)
  188.      ZIPFILE  = $(ZIPFILE)
  189.      LHAFILE  = $(LHAFILE)
  190.  
  191. | usage.msg
  192.  
  193. # Documentation
  194. doc.lst:  makefile.bcc
  195.    copy &&|
  196. Doc/Intro.1             
  197. Doc/lDef.1
  198. Doc/lDel.1
  199. Doc/lDelAll.1
  200. Doc/lDelNode.1
  201. Doc/lDump.1
  202. Doc/lFlagNode.1
  203. Doc/lFndNode.1
  204. Doc/lGetNode.1
  205. Doc/lIndxNode.1
  206. Doc/lInfo.1
  207. Doc/lInfoNode.1
  208. Doc/lInsNode.1
  209. Doc/lUndump.1
  210. Doc/lUpdNode.1
  211. | doc.lst
  212.  
  213. doc_all.lst:  makefile.bcc
  214.    copy &&|
  215. Doc/list_doc.ps
  216. Doc/Intro.man
  217. Doc/lDef.man
  218. Doc/lDel.man
  219. Doc/lDelAll.man
  220. Doc/lDelNode.man
  221. Doc/lDump.man
  222. Doc/lFlagNode.man
  223. Doc/lFndNode.man
  224. Doc/lGetNode.man
  225. Doc/lIndxNode.man
  226. Doc/lInfo.man
  227. Doc/lInfoNode.man
  228. Doc/lInsNode.man
  229. Doc/lUndump.man
  230. Doc/lUpdNode.man
  231. | doc_all.lst
  232.  
  233. src.lst:  makefile.bcc
  234.    copy &&|
  235. Makefile
  236. README
  237. example.c 
  238. list.c 
  239. list.h
  240. | src.lst
  241.  
  242. list.cfg: makefile.bcc
  243.    copy &&|
  244. -ml
  245. -v
  246. -vi-
  247. -H=list.SYM
  248. -w-ret
  249. -w-nci
  250. -w-inl
  251. -wamp
  252. -w-par
  253. -w-cpt
  254. -w-dup
  255. -w-pia
  256. -w-ill
  257. -w-sus
  258. -wstv
  259. -w-ext
  260. -w-ias
  261. -w-ibc
  262. -w-pre
  263. -w-nst
  264. -I$(INCLUDEPATH)
  265. -L$(LIBPATH)
  266. -DANSI
  267. -DMSDOS
  268. | list.cfg
  269.